import * as API from "../../utils/config.js";
const app = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    attenState0:[],
    currentTab: 0,
    clientHeight: 0,
    classifyData: [],//单一数据数组做法
    titleList: wx.getStorageSync('titleData'),
    youngData: wx.getStorageSync('classifyData0'),//少年漫画数据
    teenagerData: wx.getStorageSync('classifyData1'),//青年漫画数据
    girlData: wx.getStorageSync('classifyData2'),//少女漫画
    danmeiData: wx.getStorageSync('classifyData3')//耽美漫画
  },
  //点击关注事件
  attention(e) {
    console.log(e)
    const attenObj = {
      "name": e.currentTarget.dataset.name,
      "imgurl": e.currentTarget.dataset.imgurl,
      "des": e.currentTarget.dataset.des
    }
    //不需要渲染,所以直接用变量装,不需要data里定义
    var attenData = wx.getStorageSync('attentionData');
    attenData.length > 0 ? attenData : attenData = []
    if (attenData.length > 0) {
      var namearr = [];
      attenData.forEach((el, index) => {
        namearr.push(el.name)
      })
      if (namearr.indexOf(e.currentTarget.dataset.name) < 0) {
        attenData.unshift(attenObj)
      }
    } else {
      attenData.unshift(attenObj)
    }
    app.sStorageSync('attentionData', attenData, 'classify_attention');
    wx.showToast({
      title: '关注成功',
      icon: 'success',
      duration: 2000
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.setNavigationBarTitle({
      title: "分类"
    })
    //调用赋值或请求标题内容
    this._gettitle()
    // //调用函数赋值或请求分类内容,需改为Promise调用
    // console.log(this.data.titleList[0])
    // this._getData(this.data.titleList[0], 0)
    //赋值滑动区域高度
    wx.getSystemInfo({
      success: (res) => {
        this.setData({
          clientHeight: res.windowHeight
        })
      }
    })
  },
  _gettitle() {
    var titData = wx.getStorageSync('titleData');
    //拿到有几个标题
    if (titData) {//判断是否有本地缓存
      this.setData({
        titleList: titData
      })
    } else {//无本地缓存则请求
      wx.request({
        url: API.category,
        data: {
          "key": API.key
        },
        success: (res) => {
          console.log("res", res)
          this.setData({
            titleList: res.data.result
          })
          app.sStorageSync('titleData', this.data.titleList, 'classify_titleData')
          //调用函数赋值或请求分类内容
          console.log(this.data.titleList[0])
          this._getData(this.data.titleList[0], 0)
        }
      })
    };
  },
  _getData(typename, current) {
    // console.log("typename", typename)
    //获取当前滑块对应数据
    var ClifyData = wx.getStorageSync('classifyData' + current);
    // console.log('classifyData' + current)
    // console.log(ClifyData)
    if (ClifyData) {//判断是否有对应分类的本地缓存,有的话应该赋值给对应数组,但是由于为了将页面常驻内存,分开循环了不同arr.导致此处setdata不好处理,所以将赋值交给onshow生命周期
      this.setData({
        classifyData: ClifyData//单一dataarr做法,渲染闪烁弃用
      })
    } else {//无本地缓存则请求
      wx.request({
        url: API.book,
        data: {
          "key": API.key,
          "type": typename
        },
        success: (res) => {
          this.setData({
            classifyData: res.data.result.bookList
          })
          console.log("你的接口-1")
          //储存对应数据
          try {
            //根据不同current储存对应数据
            wx.setStorageSync('classifyData' + current, this.data.classifyData)
            if (current == 0) {
              this.setData({
                youngData: this.data.classifyData
              })
            }
            if (current == 1) {
              this.setData({
                teenagerData: this.data.classifyData
              })
            }
            if (current == 2) {
              this.setData({
                girlData: this.data.classifyData
              })
            }
            if (current == 3) {
              this.setData({
                danmeiData: this.data.classifyData
              })
            }
          } catch (e) {
            console.log("classify_err", e)
          }
        }
      })
    };
  },
  //滑动切换
  swiperTab(e) {
    // console.log("滑动触发事件",e)
    var current = e.detail.current;
    // console.log("滑动current",current)
    this._getData(this.data.titleList[e.detail.current], current)
    this.setData({
      currentTab: e.detail.current
    });
  },
  //点击切换
  clickTab(e) {
    console.log("点击切换触发事件", e)
    var current = e.target.dataset.current;
    console.log("点击current", current)
    // this._getData(this.data.titleList[e.target.dataset.current],current)//点击不用触发，点击会触发swiper的bindchange，在bindchange里调用就行
    if (this.data.currentTab === e.target.dataset.current) {
      return false;
    } else {
      this.setData({
        currentTab: e.target.dataset.current
      })
    }
  },
  //跳转到章节页面
  tochapter(e) {
    app.tochapter(e)
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 重新获取.更新数据
    this.setData({
      youngData: wx.getStorageSync('classifyData0'),//少年漫画数据
      teenagerData: wx.getStorageSync('classifyData1'),//青年漫画数据
      girlData: wx.getStorageSync('classifyData2'),//少女漫画
      danmeiData: wx.getStorageSync('classifyData3')//耽美漫画
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    console.log("页面隐藏了,离开")
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    console.log(8888888)
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})